1 // Created by Antonis Ntit
2 // spanomarias68@gmail.com

3 #pragma once
4
5 #include <
string>
6 #include <iostream>
7 #include <fstream>
8 #include <experimental/filesystem>
9 #include <filesystem>
10 #include
"libZPlayNET.h"
11
12 namespace
SoundPlayer
13 {
14
15     
using namespace System;
16     
using namespace System::IO;
17     
using namespace System::Globalization;
18     
using namespace System::Resources;
19     
using namespace System::ComponentModel;
20     
using namespace System::Collections;
21     
using namespace System::Collections::Generic;
22     
using namespace System::Windows::Forms;
23     
using namespace System::Data;
24     
using namespace System::Drawing;
25     
using namespace libZPlay;
26     
namespace files = std::experimental::filesystem;
27
28     ///
<summary>
29     ///
Summary for PlayerForm
30     ///
</summary>
31     
public ref class PlayerForm : public System::Windows::Forms::Form
32     {
33     
public:
34         ZPlay ^ player;
35         PlayerForm(
void)
36         {
37             InitializeComponent();
38             player = gcnew ZPlay();
39             print(
"Library Version " + player->GetVersion());
40             resReader = gcnew ResXResourceReader(
"./PlayerForm.resx");
41             resWriter = gcnew ResXResourceWriter(
"./PlayerForm.resx");
42             resourcArr = gcnew array<String^>(
17)
43             {
44                 
"b0V", "b1V", "b2V", "b3V", "b4V",
45                     
"b5V", "b6V", "b7V", "b8V",
46                     
"soundsDirPath", "enableEqu", "masterVolume",
47                     
"leftVolume", "rightVolume", "pitchValue", "tempoValue", "rateValue"
48             };
49             reset();
50             clearLabelsInfo();
51             equalizerSet();
52             resourceRead();
53             pathLbl->Text = soundsDirPath;
54             updateTimer->Stop();
55             loadTracks();
56             vuMeterOff();
57         }
58
59
60     
private:
61         array<String^> ^resourcArr;
62         String ^ soundsDirPath =
"";
63         String^ trackName =
"";
64         String^ playingTrack =
"";
65         String^ H;
66         String^ M;
67         String^ S;
68         
int trackListIndex = 0;
69         
int visCounter = 0;
70         
int leftChannelVu;
71         
int rightChannelVu;
72         
int masterVolume;
73         
int leftVolume, rightVolume;
74         
const int freqBandsCount = 9;
75         ResXResourceReader^ resReader;
76         ResXResourceWriter^ resWriter;
77         TStreamTime timeInfo;
78         TStreamInfo streamInfo;
79         TStreamStatus statusInfo;
80         TStreamTime curPositionTrack;
81         TStreamTime totalLenghtTrack;
82
83
84 #pragma region Windows Form Components
85
86         System::Windows::Forms::ListBox^ trackList;
87         System::Windows::Forms::FolderBrowserDialog^ folderBrowserDialog;
88         System::Windows::Forms::Button^ dirBtn;
89         System::ComponentModel::IContainer^ components;
90         System::Windows::Forms::Label^ pathLbl;
91         System::Windows::Forms::Panel^ playBtnPanel;
92         System::Windows::Forms::Button^ playStopBtn;
93         System::Windows::Forms::Button^ pauseBtn;
94         System::Windows::Forms::Label^ label4;
95         System::Windows::Forms::Label^ label3;
96         System::Windows::Forms::Label^ label2;
97         System::Windows::Forms::Label^ label1;
98         System::Windows::Forms::Label^ label6;
99         System::Windows::Forms::Label^ label5;
100         System::Windows::Forms::Label^ trackLbl;
101         System::Windows::Forms::Label^ yearLbl;
102         System::Windows::Forms::Label^ artistLbl;
103         System::Windows::Forms::Label^ titleLbl;
104         System::Windows::Forms::Label^ totalTimeLbl;
105         System::Windows::Forms::Timer^ updateTimer;
106         System::Windows::Forms::Label^ statusLbl;
107         System::Windows::Forms::Panel^ vuPanel1;
108         System::Windows::Forms::Panel^ vuMeterR;
109         System::Windows::Forms::Panel^ vuMeterL;
110         System::Windows::Forms::Panel^ vuBack2;
111         System::Windows::Forms::Panel^ vuBack1;
112         System::Windows::Forms::Label^ label9;
113         System::Windows::Forms::Label^ label8;
114         System::Windows::Forms::Label^ label7;
115         System::Windows::Forms::Button^ peakR;
116         System::Windows::Forms::Button^ peakL;
117         System::Windows::Forms::Panel^ barPosBack;
118         System::Windows::Forms::Panel^ barPos;
119         System::Windows::Forms::Label^ trackPosLbl;
120         System::Windows::Forms::Panel^ backPanel;
121         System::Windows::Forms::Panel^ equPanel;
122         System::Windows::Forms::TrackBar^ b0;
123         System::Windows::Forms::TrackBar^ b8;
124         System::Windows::Forms::TrackBar^ b7;
125         System::Windows::Forms::TrackBar^ b6;
126         System::Windows::Forms::TrackBar^ b5;
127         System::Windows::Forms::TrackBar^ b4;
128         System::Windows::Forms::TrackBar^ b3;
129         System::Windows::Forms::TrackBar^ b2;
130         System::Windows::Forms::TrackBar^ b1;
131         System::Windows::Forms::Label^ label10;
132         System::Windows::Forms::CheckBox^ equCheck;
133         System::Windows::Forms::Button^ equFlatBtn;
134         System::Windows::Forms::Panel^ masterPanel;
135         System::Windows::Forms::Label^ label11;
136         System::Windows::Forms::Label^ masterVolLbl;
137         System::Windows::Forms::TrackBar^ rightVolBar;
138         System::Windows::Forms::TrackBar^ leftVolBar;
139         System::Windows::Forms::Label^ label12;
140         System::Windows::Forms::Label^ rightVolLbl;
141         System::Windows::Forms::Label^ leftVolLbl;
142         System::Windows::Forms::TrackBar^ rateValBar;
143         System::Windows::Forms::TrackBar^ tempoValBar;
144         System::Windows::Forms::TrackBar^ pitchValBar;
145         System::Windows::Forms::Label^ label13;
146         System::Windows::Forms::Label^ rateLbl;
147         System::Windows::Forms::Label^ tempoLbl;
148         System::Windows::Forms::Label^ pitchLbl;
149         System::Windows::Forms::TrackBar^ masterVolBar;
150         System::Windows::Forms::Button^ nextTrackBtn;
151         System::Windows::Forms::Button^ prevTrackBtn;
152         System::Windows::Forms::Label^ currentTimeLbl;
153 #pragma endregion

154
155
156         ///
Read resource file settings
157         
void resourceRead()
158         {
159             
if (!File::Exists("./PlayerForm.resx")) { return; }
160             
int counter = 0;
161             
int vol;
162             Double val =
0;
163             
for each (DictionaryEntry res in resReader)
164             {
165                 
switch (counter)
166                 {
167                 
case 0:
168                     Double::TryParse(res.Value->ToString(), val);
169                     b0->Value = val;
170                     
break;
171                 
case 1:
172                     Double::TryParse(res.Value->ToString(), val);
173                     b1->Value = val;
174                     
break;
175                 
case 2:
176                     Double::TryParse(res.Value->ToString(), val);
177                     b2->Value = val;
178                     
break;
179                 
case 3:
180                     Double::TryParse(res.Value->ToString(), val);
181                     b3->Value = val;
182                     
break;
183                 
case 4:
184                     Double::TryParse(res.Value->ToString(), val);
185                     b4->Value = val;
186                     
break;
187                 
case 5:
188                     Double::TryParse(res.Value->ToString(), val);
189                     b5->Value = val;
190                     
break;
191                 
case 6:
192                     Double::TryParse(res.Value->ToString(), val);
193                     b6->Value = val;
194                     
break;
195                 
case 7:
196                     Double::TryParse(res.Value->ToString(), val);
197                     b7->Value = val;
198                     
break;
199                 
case 8:
200                     Double::TryParse(res.Value->ToString(), val);
201                     b8->Value = val;
202                     
break;
203                 
case 9:
204                     soundsDirPath = res.Value->ToString();
205                     
break;
206
207                 
case 10:
208                     
bool enbl;
209                     Boolean::TryParse(res.Value->ToString(), enbl);
210                     equalizerEnable(enbl);
211                     
break;
212                 
case 11:
213                     vol;
214                     
int::TryParse(res.Value->ToString(), vol);
215                     setMasterVolume(vol);
216                     
break;
217                 
case 12:
218                     vol;
219                     
int::TryParse(res.Value->ToString(), vol);
220                     setLeftRightVolume(vol, rightVolume);
221                     
break;
222                 
case 13:
223                     vol;
224                     
int::TryParse(res.Value->ToString(), vol);
225                     setLeftRightVolume(leftVolume, vol);
226                     
break;
227                 
case 14:
228                     vol;
229                     
int::TryParse(res.Value->ToString(), vol);
230                     setPTR(
'P', vol);
231                     
break;
232                 
case 15:
233                     vol;
234                     
int::TryParse(res.Value->ToString(), vol);
235                     setPTR(
'T', vol);
236                     
break;
237                 
case 16:
238                     vol;
239                     
int::TryParse(res.Value->ToString(), vol);
240                     setPTR(
'R', vol);
241                     
break;
242
243                 }
244                 counter++;
245             }
246
247         }

248
249
250         ///
Write resource file settings
251         
void resourceWrite()
252         {
253             
for (int i = 0; i < resourcArr->Length; i++)
254             {
255                 String^ key = resourcArr[i]->ToString();
256                 
switch (i)
257                 {
258                 
case 0:
259                     resWriter->AddResource(gcnew ResXDataNode(key, b0->Value.ToString()));
260                     
break;
261                 
case 1:
262                     resWriter->AddResource(gcnew ResXDataNode(key, b1->Value.ToString()));
263                     
break;
264                 
case 2:
265                     resWriter->AddResource(gcnew ResXDataNode(key, b2->Value.ToString()));
266
267                     
break;
268                 
case 3:
269                     resWriter->AddResource(gcnew ResXDataNode(key, b3->Value.ToString()));
270                     
break;
271                 
case 4:
272                     resWriter->AddResource(gcnew ResXDataNode(key, b4->Value.ToString()));
273                     
break;
274                 
case 5:
275                     resWriter->AddResource(gcnew ResXDataNode(key, b5->Value.ToString()));
276                     
break;
277                 
case 6:
278                     resWriter->AddResource(gcnew ResXDataNode(key, b6->Value.ToString()));
279                     
break;
280                 
case 7:
281                     resWriter->AddResource(gcnew ResXDataNode(key, b7->Value.ToString()));
282                     
break;
283                 
case 8:
284                     resWriter->AddResource(gcnew ResXDataNode(key, b8->Value.ToString()));
285                     
break;
286                 
case 9:
287                     resWriter->AddResource(gcnew ResXDataNode(key, soundsDirPath));
288                     
break;
289                 
case 10:
290                     resWriter->AddResource(gcnew ResXDataNode(key, equCheck->Checked.ToString()));
291                     
break;
292                 
case 11:
293                     resWriter->AddResource(gcnew ResXDataNode(key, masterVolume.ToString()));
294                     
break;
295                 
case 12:
296                     resWriter->AddResource(gcnew ResXDataNode(key, leftVolume.ToString()));
297                     
break;
298                 
case 13:
299                     resWriter->AddResource(gcnew ResXDataNode(key, rightVolume.ToString()));
300                     
break;
301                 
case 14:
302                     resWriter->AddResource(gcnew ResXDataNode(key, pitchValBar->Value.ToString()));
303                     
break;
304                 
case 15:
305                     resWriter->AddResource(gcnew ResXDataNode(key, tempoValBar->Value.ToString()));
306                     
break;
307                 
case 16:
308                     resWriter->AddResource(gcnew ResXDataNode(key, rateValBar->Value.ToString()));
309                     
break;
310                 }
311
312             }
313             resWriter->Generate();
314             resWriter->Close();
315         }

316
317         ///
Load all tracks in list of selected folder
318         
void loadTracks()
319         {
320             
if (!Directory::Exists(soundsDirPath)) { return; }
321             trackList->Items->Clear();
322             
int filesCount = Directory::GetFiles(soundsDirPath)->Length;
323             
for (int i = 0; i < filesCount; i++)
324             {
325                 String^ file = Directory::GetFiles(soundsDirPath)[i]->ToString();
326                 String^ fileName = FileInfo::FileInfo(file).Name;
327                 String^ ext = FileInfo::FileInfo(file).Extension;
328                 
if (ext == ".mp3" || ext == ".wav")
329                 {
330                     trackList->Items->Add(fileName);
331                 }
332
333             }
334             pathLbl->Text = soundsDirPath;
335         }

336
337         ///
Load track file
338         
void loadTrackFile(String^ track)
339         {
340             player->OpenFile(track, TStreamFormat::sfAutodetect);
341             loadID3(track);
342             getLeght();
343         }

344
345         ///
Start player
346         
void startPlayer()
347         {
348             
if (!updateTimer->Enabled) { updateTimer->Start(); }
349             trackLbl->Text = trackName;
350             player->GetPosition(curPositionTrack);
351             player->PlayLoop(TTimeFormat::tfSecond, curPositionTrack, TTimeFormat::tfSecond, totalLenghtTrack,
1, false);
352             playStopBtn->Text =
"Stop";
353             statusLbl->Text =
"PLAY";
354             player->GetStatus(statusInfo);
355         }

356
357         ///
Stop player
358         
void stopPlayer()
359         {
360             
if (updateTimer->Enabled) { updateTimer->Stop(); }
361             vuMeterOff();
362             player->StopPlayback();
363             playStopBtn->Text =
"Play";
364             statusLbl->Text =
"STOP";
365             statusLbl->Visible =
true;
366         }

367
368         ///
Pause player
369         
void pausePlayer()
370         {
371             player->GetStatus(statusInfo);
372             
if (statusInfo.fPause || !statusInfo.fPlay) { return; }
373             player->PausePlayback();
374             player->GetStatus(statusInfo);
375             playStopBtn->Text =
"Play";
376             statusLbl->Text =
"PAUSE";
377             vuMeterOff();
378         }

379
380         ///
Next track load and play
381         
void nextTrack()
382         {
383             
if (trackList->Items->Count == 0) { return; }
384             stopPlayer();
385             trackListIndex++;
386             
if (trackListIndex >= trackList->Items->Count - 1) { trackListIndex = 0; }
387             trackList->SelectedIndex = trackListIndex;
388             trackName = trackList->SelectedItem->ToString();
389             playingTrack = soundsDirPath +
"/" + trackName;
390             loadTrackFile(playingTrack);
391             startPlayer();
392         }

393
394         ///
Previous track load and play
395         
void previousTrack()
396         {
397             
if (trackList->Items->Count == 0) { return; }
398             stopPlayer();
399             trackListIndex--;
400             
if (trackListIndex < 0) { trackListIndex = trackList->Items->Count - 1; }
401             trackList->SelectedIndex = trackListIndex;
402             trackName = trackList->SelectedItem->ToString();
403             playingTrack = soundsDirPath +
"/" + trackName;
404             loadTrackFile(playingTrack);
405             startPlayer();
406         }

407
408         ///
Load track information
409         
void loadID3(String^ track)
410         {
411             clearLabelsInfo();
412             libZPlay::TID3InfoEx info;
413             
if (player->LoadID3Ex(info, true))
414             {
415                 titleLbl->Text = info.Title;
416                 artistLbl->Text = info.Artist;
417                 yearLbl->Text = info.Year;
418             }
419
420         }

421
422         ///
VuMeter
423         
void vuMeter()
424         {
425             
if (player != nullptr && !statusInfo.fPause)
426             {
427                 player->GetVUData(leftChannelVu, rightChannelVu);
428                 vuMeterL->Height =
200 - (leftChannelVu * 2);
429                 vuMeterR->Height =
200 - (rightChannelVu * 2);
430                 
if (leftChannelVu > 85)
431                 {
432                     
if (leftChannelVu > 95) { peakL->BackColor = Color::Red; }
433                     
else { peakL->BackColor = Color::Yellow; }
434                 }
435                 
else { peakL->BackColor = Color::Black; }
436
437                 
if (rightChannelVu > 85)
438                 {
439                     
if (rightChannelVu > 95) { peakR->BackColor = Color::Red; }
440                     
else { peakR->BackColor = Color::Yellow; }
441                 }
442                 
else { peakR->BackColor = Color::Black; }
443
444             }
445         }

446
447         ///
Off vu meter
448         
void vuMeterOff()
449         {
450             vuMeterL->Height =
200;
451             vuMeterR->Height =
200;
452             peakL->BackColor = Color::Black;
453             peakR->BackColor = Color::Black;
454         }

455
456         ///
Get track position
457         
void getPosition()
458         {
459             player->GetPosition(timeInfo);
460             player->GetStatus(statusInfo);
461             
int hour = timeInfo.hms.hour;
462             
int min = timeInfo.hms.minute;
463             
int sec = timeInfo.hms.second;
464             H = hour >
9 ? "" : "0";
465             M = min >
9 ? "" : "0";
466             S = sec >
9 ? "" : "0";
467             currentTimeLbl->Text = H + hour +
"." + M + min + "." + S + sec;
468             
if (timeInfo.sec == 0 && !statusInfo.fPlay && !statusInfo.fPause) { updateTimer->Stop(); nextTrack(); }
469             setTrackBar();
470         }

471
472         ///
Set track new position
473         
void setTrackPosition()
474         {
475             
double cursorPosX = barPos->PointToClient(Cursor->Position).X;
476             
double newPos = (cursorPosX / 300) *totalLenghtTrack.sec;
477             TStreamTime time;
478             time.sec = newPos;
479             player->Seek(TTimeFormat::tfSecond, time, TSeekMethod::smFromBeginning);
480         }

481
482         ///
Set bar position of track
483         
void setTrackBar()
484         {
485             
double curTime = timeInfo.sec;
486             
double totalTime = totalLenghtTrack.sec;
487             
double pos = (curTime / totalTime) * 300;
488             
double posPerc = (curTime / totalTime) * 100;
489             barPos->Width = pos;
490             trackPosLbl->Text = Math::Round(posPerc) +
"%";
491         }

492
493         ///
Get track lenght
494         
void getLeght()
495         {
496             player->GetStreamInfo(streamInfo);
497             
int hour = streamInfo.Length.hms.hour;
498             
int min = streamInfo.Length.hms.minute;
499             
int sec = streamInfo.Length.hms.second;
500             String^ H;
501             String^ M;
502             String^ S;
503             H = hour >
9 ? "" : "0";
504             M = min >
9 ? "" : "0";
505             S = sec >
9 ? "" : "0";
506             totalTimeLbl->Text = H + hour +
"." + M + min + "." + S + sec;
507             totalLenghtTrack = streamInfo.Length;
508         }

509
510         ///
Clear all label info
511         
void clearLabelsInfo()
512         {
513             trackLbl->Text =
"";
514             artistLbl->Text =
"";
515             titleLbl->Text =
"";
516             yearLbl->Text =
"";
517             currentTimeLbl->Text =
"";
518             totalTimeLbl->Text =
"";
519             statusLbl->Text =
"";
520         }

521
522         ///
Convert std::string to System::String
523         String^ convertToString(std::
string str)
524         {
525             
return gcnew String(str.c_str());
526         }

527
528         ///
Equalizer enable disable
529         
void equalizerEnable(bool enable)
530         {
531             player->EnableEqualizer(enable);
532             equCheck->Checked = enable;
533         }

534
535         ///
Equalizer set band parameters
536         
void equalizerSet()
537         {
538             array<
int> ^freqBands = gcnew array<int>(freqBandsCount) { 100, 200, 300, 1000, 2000, 3000, 5000, 7000, 12000 };
539             
if (player != nullptr)
540             {
541                 player->SetEqualizerPoints(freqBands,
9);
542             }
543         }

544
545         ///
Equalizer change
546         
void equalizerChange(int band, int value)
547         {
548             player->SetEqualizerBandGain(band,
value);
549         }

550
551         ///
Equalizer flat
552         
void equalizerFlat()
553         {
554             
for each (Control^ control in equPanel->Controls)
555             {
556                 
if (control->Name->IndexOf("b") == 0)
557                 {
558                     
int numBand = 0;
559                     
int::TryParse(control->Name->Substring(1), numBand);
560                     TrackBar^ bar = dynamic_cast<TrackBar^> (control);
561                     bar->Value =
0;
562                 }
563
564             }
565         }

566
567         ///
Set master Volume
568         
void setMasterVolume(int vol)
569         {
570             player->SetMasterVolume(vol, vol);
571             masterVolume = vol;
572             masterVolLbl->Text = vol.ToString();
573             masterVolBar->Value = vol;
574         }

575
576         ///
Set Left Right volume
577         
void setLeftRightVolume(int left, int right)
578         {
579             player->SetPlayerVolume(left, right);
580             leftVolume = left;
581             rightVolume = right;
582             leftVolBar->Value = left;
583             rightVolBar->Value = right;
584             leftVolLbl->Text = left.ToString();
585             rightVolLbl->Text = right.ToString();
586         }

587
588         ///
Set PTR (Pitch Tempo Rate)
589         
void setPTR(char cmd, int val)
590         {
591             
switch (cmd)
592             {
593             
case 'P':
594                 
if (player->GetPitch() == 100 && val == 100) { return; }
595                 player->SetPitch(val);
596                 pitchValBar->Value = val;
597                 pitchLbl->Text = val.ToString();
598                 
break;
599             
case 'T':
600                 
if (player->GetTempo() == 100 && val == 100) { return; }
601                 player->SetTempo(val);
602                 tempoValBar->Value = val;
603                 tempoLbl->Text = val.ToString();
604                 
break;
605             
case 'R':
606                 
if (player->GetRate() == 100 && val == 100) { return; }
607                 player->SetRate(val);
608                 rateValBar->Value = val;
609                 rateLbl->Text = val.ToString();
610                 
break;
611             }
612
613         }

614
615         ///
Reset
616         
void reset()
617         {
618             masterVolume =
100;
619             leftVolume =
100;
620             rightVolume =
100;
621             equalizerFlat();
622             masterVolBar->Value = masterVolume;
623             setMasterVolume(masterVolume);
624             setLeftRightVolume(leftVolume, rightVolume);
625         }
626
627 #pragma region print function ovverloading
628         
//Print in outpout window
629         
void print(System::String^ arg)
630         {
631             Diagnostics::Debug::WriteLine(arg);
632         }
633         
void print(int arg)
634         {
635             Diagnostics::Debug::WriteLine(arg.ToString());
636         }
637         
void print(double arg)
638         {
639             Diagnostics::Debug::WriteLine(arg.ToString());
640         }
641
642 #pragma endregion
643
644
645 #pragma region Windows Form Designer generated code

646         ///
<summary>
647         ///
Required method for Designer support - do not modify
648         ///
the contents of this method with the code editor.
649         ///
</summary>
650         
void InitializeComponent(void)
651         {
652             
this->components = (gcnew System::ComponentModel::Container());
653             
this->trackList = (gcnew System::Windows::Forms::ListBox());
654             
this->folderBrowserDialog = (gcnew System::Windows::Forms::FolderBrowserDialog());
655             
this->dirBtn = (gcnew System::Windows::Forms::Button());
656             
this->pathLbl = (gcnew System::Windows::Forms::Label());
657             
this->playBtnPanel = (gcnew System::Windows::Forms::Panel());
658             
this->trackPosLbl = (gcnew System::Windows::Forms::Label());
659             
this->barPos = (gcnew System::Windows::Forms::Panel());
660             
this->barPosBack = (gcnew System::Windows::Forms::Panel());
661             
this->statusLbl = (gcnew System::Windows::Forms::Label());
662             
this->totalTimeLbl = (gcnew System::Windows::Forms::Label());
663             
this->currentTimeLbl = (gcnew System::Windows::Forms::Label());
664             
this->yearLbl = (gcnew System::Windows::Forms::Label());
665             
this->artistLbl = (gcnew System::Windows::Forms::Label());
666             
this->titleLbl = (gcnew System::Windows::Forms::Label());
667             
this->trackLbl = (gcnew System::Windows::Forms::Label());
668             
this->label6 = (gcnew System::Windows::Forms::Label());
669             
this->label5 = (gcnew System::Windows::Forms::Label());
670             
this->label4 = (gcnew System::Windows::Forms::Label());
671             
this->label3 = (gcnew System::Windows::Forms::Label());
672             
this->label2 = (gcnew System::Windows::Forms::Label());
673             
this->label1 = (gcnew System::Windows::Forms::Label());
674             
this->pauseBtn = (gcnew System::Windows::Forms::Button());
675             
this->playStopBtn = (gcnew System::Windows::Forms::Button());
676             
this->updateTimer = (gcnew System::Windows::Forms::Timer(this->components));
677             
this->vuPanel1 = (gcnew System::Windows::Forms::Panel());
678             
this->peakR = (gcnew System::Windows::Forms::Button());
679             
this->peakL = (gcnew System::Windows::Forms::Button());
680             
this->label9 = (gcnew System::Windows::Forms::Label());
681             
this->label8 = (gcnew System::Windows::Forms::Label());
682             
this->label7 = (gcnew System::Windows::Forms::Label());
683             
this->vuMeterR = (gcnew System::Windows::Forms::Panel());
684             
this->vuMeterL = (gcnew System::Windows::Forms::Panel());
685             
this->vuBack2 = (gcnew System::Windows::Forms::Panel());
686             
this->vuBack1 = (gcnew System::Windows::Forms::Panel());
687             
this->backPanel = (gcnew System::Windows::Forms::Panel());
688             
this->equPanel = (gcnew System::Windows::Forms::Panel());
689             
this->equFlatBtn = (gcnew System::Windows::Forms::Button());
690             
this->equCheck = (gcnew System::Windows::Forms::CheckBox());
691             
this->label10 = (gcnew System::Windows::Forms::Label());
692             
this->b8 = (gcnew System::Windows::Forms::TrackBar());
693             
this->b7 = (gcnew System::Windows::Forms::TrackBar());
694             
this->b6 = (gcnew System::Windows::Forms::TrackBar());
695             
this->b5 = (gcnew System::Windows::Forms::TrackBar());
696             
this->b4 = (gcnew System::Windows::Forms::TrackBar());
697             
this->b3 = (gcnew System::Windows::Forms::TrackBar());
698             
this->b2 = (gcnew System::Windows::Forms::TrackBar());
699             
this->b1 = (gcnew System::Windows::Forms::TrackBar());
700             
this->b0 = (gcnew System::Windows::Forms::TrackBar());
701             
this->masterPanel = (gcnew System::Windows::Forms::Panel());
702             
this->rateLbl = (gcnew System::Windows::Forms::Label());
703             
this->tempoLbl = (gcnew System::Windows::Forms::Label());
704             
this->pitchLbl = (gcnew System::Windows::Forms::Label());
705             
this->label13 = (gcnew System::Windows::Forms::Label());
706             
this->rateValBar = (gcnew System::Windows::Forms::TrackBar());
707             
this->tempoValBar = (gcnew System::Windows::Forms::TrackBar());
708             
this->pitchValBar = (gcnew System::Windows::Forms::TrackBar());
709             
this->rightVolLbl = (gcnew System::Windows::Forms::Label());
710             
this->leftVolLbl = (gcnew System::Windows::Forms::Label());
711             
this->label12 = (gcnew System::Windows::Forms::Label());
712             
this->rightVolBar = (gcnew System::Windows::Forms::TrackBar());
713             
this->leftVolBar = (gcnew System::Windows::Forms::TrackBar());
714             
this->masterVolLbl = (gcnew System::Windows::Forms::Label());
715             
this->label11 = (gcnew System::Windows::Forms::Label());
716             
this->masterVolBar = (gcnew System::Windows::Forms::TrackBar());
717             
this->prevTrackBtn = (gcnew System::Windows::Forms::Button());
718             
this->nextTrackBtn = (gcnew System::Windows::Forms::Button());
719             
this->playBtnPanel->SuspendLayout();
720             
this->vuPanel1->SuspendLayout();
721             
this->backPanel->SuspendLayout();
722             
this->equPanel->SuspendLayout();
723             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b8))->BeginInit();
724             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b7))->BeginInit();
725             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b6))->BeginInit();
726             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b5))->BeginInit();
727             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b4))->BeginInit();
728             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b3))->BeginInit();
729             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b2))->BeginInit();
730             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b1))->BeginInit();
731             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b0))->BeginInit();
732             
this->masterPanel->SuspendLayout();
733             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->rateValBar))->BeginInit();
734             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->tempoValBar))->BeginInit();
735             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->pitchValBar))->BeginInit();
736             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->rightVolBar))->BeginInit();
737             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->leftVolBar))->BeginInit();
738             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->masterVolBar))->BeginInit();
739             
this->SuspendLayout();
740             
//
741             
// trackList
742             
//
743             
this->trackList->BackColor = System::Drawing::Color::SteelBlue;
744             
this->trackList->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
745                 static_cast<System::Byte>(
161)));
746             
this->trackList->ForeColor = System::Drawing::Color::AliceBlue;
747             
this->trackList->FormattingEnabled = true;
748             
this->trackList->HorizontalScrollbar = true;
749             
this->trackList->ItemHeight = 16;
750             
this->trackList->Location = System::Drawing::Point(2, 187);
751             
this->trackList->Name = L"trackList";
752             
this->trackList->Size = System::Drawing::Size(464, 244);
753             
this->trackList->TabIndex = 0;
754             
this->trackList->SelectedIndexChanged += gcnew System::EventHandler(this, &PlayerForm::trackList_SelectedIndexChanged);
755             
this->trackList->MouseDoubleClick += gcnew System::Windows::Forms::MouseEventHandler(this, &PlayerForm::trackList_MouseDoubleClick);
756             
//
757             
// dirBtn
758             
//
759             
this->dirBtn->Location = System::Drawing::Point(2, 158);
760             
this->dirBtn->Name = L"dirBtn";
761             
this->dirBtn->Size = System::Drawing::Size(95, 23);
762             
this->dirBtn->TabIndex = 1;
763             
this->dirBtn->Text = L"Sounds Folder";
764             
this->dirBtn->UseVisualStyleBackColor = true;
765             
this->dirBtn->Click += gcnew System::EventHandler(this, &PlayerForm::dirBtn_Click);
766             
//
767             
// pathLbl
768             
//
769             
this->pathLbl->AutoSize = true;
770             
this->pathLbl->Location = System::Drawing::Point(102, 165);
771             
this->pathLbl->Name = L"pathLbl";
772             
this->pathLbl->Size = System::Drawing::Size(35, 13);
773             
this->pathLbl->TabIndex = 2;
774             
this->pathLbl->Text = L"Path=";
775             
//
776             
// playBtnPanel
777             
//
778             
this->playBtnPanel->BackColor = System::Drawing::Color::SteelBlue;
779             
this->playBtnPanel->BackgroundImageLayout = System::Windows::Forms::ImageLayout::Stretch;
780             
this->playBtnPanel->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
781             
this->playBtnPanel->Controls->Add(this->trackPosLbl);
782             
this->playBtnPanel->Controls->Add(this->barPos);
783             
this->playBtnPanel->Controls->Add(this->barPosBack);
784             
this->playBtnPanel->Controls->Add(this->statusLbl);
785             
this->playBtnPanel->Controls->Add(this->totalTimeLbl);
786             
this->playBtnPanel->Controls->Add(this->currentTimeLbl);
787             
this->playBtnPanel->Controls->Add(this->yearLbl);
788             
this->playBtnPanel->Controls->Add(this->artistLbl);
789             
this->playBtnPanel->Controls->Add(this->titleLbl);
790             
this->playBtnPanel->Controls->Add(this->trackLbl);
791             
this->playBtnPanel->Controls->Add(this->label6);
792             
this->playBtnPanel->Controls->Add(this->label5);
793             
this->playBtnPanel->Controls->Add(this->label4);
794             
this->playBtnPanel->Controls->Add(this->label3);
795             
this->playBtnPanel->Controls->Add(this->label2);
796             
this->playBtnPanel->Controls->Add(this->label1);
797             
this->playBtnPanel->Location = System::Drawing::Point(2, 4);
798             
this->playBtnPanel->Name = L"playBtnPanel";
799             
this->playBtnPanel->Size = System::Drawing::Size(464, 148);
800             
this->playBtnPanel->TabIndex = 3;
801             
//
802             
// trackPosLbl
803             
//
804             
this->trackPosLbl->AutoSize = true;
805             
this->trackPosLbl->BackColor = System::Drawing::Color::Transparent;
806             
this->trackPosLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
807                 static_cast<System::Byte>(
161)));
808             
this->trackPosLbl->ForeColor = System::Drawing::Color::Azure;
809             
this->trackPosLbl->Location = System::Drawing::Point(426, 119);
810             
this->trackPosLbl->Name = L"trackPosLbl";
811             
this->trackPosLbl->Size = System::Drawing::Size(35, 14);
812             
this->trackPosLbl->TabIndex = 15;
813             
this->trackPosLbl->Text = L"100%";
814             
//
815             
// barPos
816             
//
817             
this->barPos->BackColor = System::Drawing::SystemColors::ActiveCaption;
818             
this->barPos->Cursor = System::Windows::Forms::Cursors::Hand;
819             
this->barPos->Location = System::Drawing::Point(124, 119);
820             
this->barPos->Name = L"barPos";
821             
this->barPos->Size = System::Drawing::Size(300, 12);
822             
this->barPos->TabIndex = 14;
823             
this->barPos->MouseClick += gcnew System::Windows::Forms::MouseEventHandler(this, &PlayerForm::barPosBack_MouseClick);
824             
//
825             
// barPosBack
826             
//
827             
this->barPosBack->BackColor = System::Drawing::SystemColors::ControlDarkDark;
828             
this->barPosBack->Cursor = System::Windows::Forms::Cursors::Hand;
829             
this->barPosBack->Location = System::Drawing::Point(122, 116);
830             
this->barPosBack->Name = L"barPosBack";
831             
this->barPosBack->Size = System::Drawing::Size(305, 17);
832             
this->barPosBack->TabIndex = 13;
833             
this->barPosBack->MouseClick += gcnew System::Windows::Forms::MouseEventHandler(this, &PlayerForm::barPosBack_MouseClick);
834             
//
835             
// statusLbl
836             
//
837             
this->statusLbl->AutoSize = true;
838             
this->statusLbl->BackColor = System::Drawing::Color::Transparent;
839             
this->statusLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 15.75F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,
840                 static_cast<System::Byte>(
161)));
841             
this->statusLbl->ForeColor = System::Drawing::Color::Honeydew;
842             
this->statusLbl->Location = System::Drawing::Point(9, 59);
843             
this->statusLbl->Name = L"statusLbl";
844             
this->statusLbl->Size = System::Drawing::Size(58, 24);
845             
this->statusLbl->TabIndex = 12;
846             
this->statusLbl->Text = L"PLAY";
847             
//
848             
// totalTimeLbl
849             
//
850             
this->totalTimeLbl->AutoSize = true;
851             
this->totalTimeLbl->BackColor = System::Drawing::Color::Transparent;
852             
this->totalTimeLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
853                 static_cast<System::Byte>(
161)));
854             
this->totalTimeLbl->ForeColor = System::Drawing::Color::Azure;
855             
this->totalTimeLbl->Location = System::Drawing::Point(7, 115);
856             
this->totalTimeLbl->Name = L"totalTimeLbl";
857             
this->totalTimeLbl->Size = System::Drawing::Size(81, 19);
858             
this->totalTimeLbl->TabIndex = 11;
859             
this->totalTimeLbl->Text = L"00:00:00";
860             
//
861             
// currentTimeLbl
862             
//
863             
this->currentTimeLbl->AutoSize = true;
864             
this->currentTimeLbl->BackColor = System::Drawing::Color::Transparent;
865             
this->currentTimeLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
866                 static_cast<System::Byte>(
161)));
867             
this->currentTimeLbl->ForeColor = System::Drawing::Color::Azure;
868             
this->currentTimeLbl->Location = System::Drawing::Point(8, 23);
869             
this->currentTimeLbl->Name = L"currentTimeLbl";
870             
this->currentTimeLbl->Size = System::Drawing::Size(81, 19);
871             
this->currentTimeLbl->TabIndex = 10;
872             
this->currentTimeLbl->Text = L"00:00:00";
873             
//
874             
// yearLbl
875             
//
876             
this->yearLbl->AutoSize = true;
877             
this->yearLbl->BackColor = System::Drawing::Color::Transparent;
878             
this->yearLbl->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
879                 static_cast<System::Byte>(
161)));
880             
this->yearLbl->ForeColor = System::Drawing::Color::Azure;
881             
this->yearLbl->Location = System::Drawing::Point(215, 96);
882             
this->yearLbl->Name = L"yearLbl";
883             
this->yearLbl->Size = System::Drawing::Size(23, 17);
884             
this->yearLbl->TabIndex = 9;
885             
this->yearLbl->Text = L"---";
886             
//
887             
// artistLbl
888             
//
889             
this->artistLbl->AutoSize = true;
890             
this->artistLbl->BackColor = System::Drawing::Color::Transparent;
891             
this->artistLbl->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
892                 static_cast<System::Byte>(
161)));
893             
this->artistLbl->ForeColor = System::Drawing::Color::Azure;
894             
this->artistLbl->Location = System::Drawing::Point(215, 66);
895             
this->artistLbl->Name = L"artistLbl";
896             
this->artistLbl->Size = System::Drawing::Size(23, 17);
897             
this->artistLbl->TabIndex = 8;
898             
this->artistLbl->Text = L"---";
899             
//
900             
// titleLbl
901             
//
902             
this->titleLbl->AutoSize = true;
903             
this->titleLbl->BackColor = System::Drawing::Color::Transparent;
904             
this->titleLbl->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
905                 static_cast<System::Byte>(
161)));
906             
this->titleLbl->ForeColor = System::Drawing::Color::Azure;
907             
this->titleLbl->Location = System::Drawing::Point(215, 36);
908             
this->titleLbl->Name = L"titleLbl";
909             
this->titleLbl->Size = System::Drawing::Size(23, 17);
910             
this->titleLbl->TabIndex = 7;
911             
this->titleLbl->Text = L"---";
912             
//
913             
// trackLbl
914             
//
915             
this->trackLbl->AutoSize = true;
916             
this->trackLbl->BackColor = System::Drawing::Color::Transparent;
917             
this->trackLbl->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
918                 static_cast<System::Byte>(
161)));
919             
this->trackLbl->ForeColor = System::Drawing::Color::Azure;
920             
this->trackLbl->Location = System::Drawing::Point(215, 7);
921             
this->trackLbl->Name = L"trackLbl";
922             
this->trackLbl->Size = System::Drawing::Size(19, 15);
923             
this->trackLbl->TabIndex = 6;
924             
this->trackLbl->Text = L"---";
925             
//
926             
// label6
927             
//
928             
this->label6->AutoSize = true;
929             
this->label6->BackColor = System::Drawing::Color::Transparent;
930             
this->label6->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
931                 static_cast<System::Byte>(
161)));
932             
this->label6->ForeColor = System::Drawing::Color::LightBlue;
933             
this->label6->Location = System::Drawing::Point(8, 98);
934             
this->label6->Name = L"label6";
935             
this->label6->Size = System::Drawing::Size(75, 17);
936             
this->label6->TabIndex = 5;
937             
this->label6->Text = L"Total Time";
938             
//
939             
// label5
940             
//
941             
this->label5->AutoSize = true;
942             
this->label5->BackColor = System::Drawing::Color::Transparent;
943             
this->label5->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
944                 static_cast<System::Byte>(
161)));
945             
this->label5->ForeColor = System::Drawing::Color::LightBlue;
946             
this->label5->Location = System::Drawing::Point(8, 6);
947             
this->label5->Name = L"label5";
948             
this->label5->Size = System::Drawing::Size(90, 17);
949             
this->label5->TabIndex = 4;
950             
this->label5->Text = L"Current Time";
951             
//
952             
// label4
953             
//
954             
this->label4->AutoSize = true;
955             
this->label4->BackColor = System::Drawing::Color::Transparent;
956             
this->label4->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
957                 static_cast<System::Byte>(
161)));
958             
this->label4->ForeColor = System::Drawing::Color::LightBlue;
959             
this->label4->Location = System::Drawing::Point(167, 96);
960             
this->label4->Name = L"label4";
961             
this->label4->Size = System::Drawing::Size(42, 17);
962             
this->label4->TabIndex = 3;
963             
this->label4->Text = L"Year:";
964             
//
965             
// label3
966             
//
967             
this->label3->AutoSize = true;
968             
this->label3->BackColor = System::Drawing::Color::Transparent;
969             
this->label3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
970                 static_cast<System::Byte>(
161)));
971             
this->label3->ForeColor = System::Drawing::Color::LightBlue;
972             
this->label3->Location = System::Drawing::Point(166, 66);
973             
this->label3->Name = L"label3";
974             
this->label3->Size = System::Drawing::Size(44, 17);
975             
this->label3->TabIndex = 2;
976             
this->label3->Text = L"Artist:";
977             
//
978             
// label2
979             
//
980             
this->label2->AutoSize = true;
981             
this->label2->BackColor = System::Drawing::Color::Transparent;
982             
this->label2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
983                 static_cast<System::Byte>(
161)));
984             
this->label2->ForeColor = System::Drawing::Color::LightBlue;
985             
this->label2->Location = System::Drawing::Point(170, 36);
986             
this->label2->Name = L"label2";
987             
this->label2->Size = System::Drawing::Size(39, 17);
988             
this->label2->TabIndex = 1;
989             
this->label2->Text = L"Title:";
990             
//
991             
// label1
992             
//
993             
this->label1->AutoSize = true;
994             
this->label1->BackColor = System::Drawing::Color::Transparent;
995             
this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
996                 static_cast<System::Byte>(
161)));
997             
this->label1->ForeColor = System::Drawing::Color::LightBlue;
998             
this->label1->Location = System::Drawing::Point(122, 6);
999             
this->label1->Name = L"label1";
1000             
this->label1->Size = System::Drawing::Size(87, 17);
1001             
this->label1->TabIndex = 0;
1002             
this->label1->Text = L"Track name:";
1003             
//
1004             
// pauseBtn
1005             
//
1006             
this->pauseBtn->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1007                 static_cast<System::Byte>(
161)));
1008             
this->pauseBtn->Location = System::Drawing::Point(87, 3);
1009             
this->pauseBtn->Name = L"pauseBtn";
1010             
this->pauseBtn->Size = System::Drawing::Size(75, 35);
1011             
this->pauseBtn->TabIndex = 1;
1012             
this->pauseBtn->Text = L"Pause";
1013             
this->pauseBtn->UseVisualStyleBackColor = true;
1014             
this->pauseBtn->Click += gcnew System::EventHandler(this, &PlayerForm::pauseBtn_Click);
1015             
//
1016             
// playStopBtn
1017             
//
1018             
this->playStopBtn->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1019                 static_cast<System::Byte>(
161)));
1020             
this->playStopBtn->Location = System::Drawing::Point(3, 3);
1021             
this->playStopBtn->Name = L"playStopBtn";
1022             
this->playStopBtn->Size = System::Drawing::Size(75, 35);
1023             
this->playStopBtn->TabIndex = 0;
1024             
this->playStopBtn->Text = L"Play";
1025             
this->playStopBtn->UseVisualStyleBackColor = true;
1026             
this->playStopBtn->Click += gcnew System::EventHandler(this, &PlayerForm::playStopBtn_Click);
1027             
//
1028             
// updateTimer
1029             
//
1030             
this->updateTimer->Tick += gcnew System::EventHandler(this, &PlayerForm::updateTimer_Tick);
1031             
//
1032             
// vuPanel1
1033             
//
1034             
this->vuPanel1->Anchor = System::Windows::Forms::AnchorStyles::None;
1035             
this->vuPanel1->BackColor = System::Drawing::SystemColors::ActiveCaptionText;
1036             
this->vuPanel1->Controls->Add(this->peakR);
1037             
this->vuPanel1->Controls->Add(this->peakL);
1038             
this->vuPanel1->Controls->Add(this->label9);
1039             
this->vuPanel1->Controls->Add(this->label8);
1040             
this->vuPanel1->Controls->Add(this->label7);
1041             
this->vuPanel1->Controls->Add(this->vuMeterR);
1042             
this->vuPanel1->Controls->Add(this->vuMeterL);
1043             
this->vuPanel1->Controls->Add(this->vuBack2);
1044             
this->vuPanel1->Controls->Add(this->vuBack1);
1045             
this->vuPanel1->Location = System::Drawing::Point(803, 187);
1046             
this->vuPanel1->Name = L"vuPanel1";
1047             
this->vuPanel1->Size = System::Drawing::Size(75, 244);
1048             
this->vuPanel1->TabIndex = 4;
1049             
//
1050             
// peakR
1051             
//
1052             
this->peakR->BackColor = System::Drawing::Color::Black;
1053             
this->peakR->Enabled = false;
1054             
this->peakR->ForeColor = System::Drawing::SystemColors::ControlDarkDark;
1055             
this->peakR->Location = System::Drawing::Point(45, 2);
1056             
this->peakR->Name = L"peakR";
1057             
this->peakR->Size = System::Drawing::Size(20, 15);
1058             
this->peakR->TabIndex = 16;
1059             
this->peakR->UseVisualStyleBackColor = false;
1060             
//
1061             
// peakL
1062             
//
1063             
this->peakL->BackColor = System::Drawing::Color::Black;
1064             
this->peakL->Enabled = false;
1065             
this->peakL->ForeColor = System::Drawing::SystemColors::ControlDarkDark;
1066             
this->peakL->Location = System::Drawing::Point(6, 2);
1067             
this->peakL->Name = L"peakL";
1068             
this->peakL->Size = System::Drawing::Size(20, 15);
1069             
this->peakL->TabIndex = 5;
1070             
this->peakL->UseVisualStyleBackColor = false;
1071             
//
1072             
// label9
1073             
//
1074             
this->label9->AutoSize = true;
1075             
this->label9->BackColor = System::Drawing::Color::Transparent;
1076             
this->label9->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1077                 static_cast<System::Byte>(
161)));
1078             
this->label9->ForeColor = System::Drawing::Color::LightBlue;
1079             
this->label9->Location = System::Drawing::Point(48, 15);
1080             
this->label9->Name = L"label9";
1081             
this->label9->Size = System::Drawing::Size(16, 15);
1082             
this->label9->TabIndex = 15;
1083             
this->label9->Text = L"R";
1084             
//
1085             
// label8
1086             
//
1087             
this->label8->AutoSize = true;
1088             
this->label8->BackColor = System::Drawing::Color::Transparent;
1089             
this->label8->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1090                 static_cast<System::Byte>(
161)));
1091             
this->label8->ForeColor = System::Drawing::Color::LightBlue;
1092             
this->label8->Location = System::Drawing::Point(10, 15);
1093             
this->label8->Name = L"label8";
1094             
this->label8->Size = System::Drawing::Size(14, 15);
1095             
this->label8->TabIndex = 14;
1096             
this->label8->Text = L"L";
1097             
//
1098             
// label7
1099             
//
1100             
this->label7->AutoSize = true;
1101             
this->label7->BackColor = System::Drawing::Color::Transparent;
1102             
this->label7->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1103                 static_cast<System::Byte>(
161)));
1104             
this->label7->ForeColor = System::Drawing::Color::LightBlue;
1105             
this->label7->Location = System::Drawing::Point(25, 0);
1106             
this->label7->Name = L"label7";
1107             
this->label7->Size = System::Drawing::Size(23, 15);
1108             
this->label7->TabIndex = 13;
1109             
this->label7->Text = L"VU";
1110             
//
1111             
// vuMeterR
1112             
//
1113             
this->vuMeterR->BackColor = System::Drawing::SystemColors::ActiveCaptionText;
1114             
this->vuMeterR->Location = System::Drawing::Point(42, 40);
1115             
this->vuMeterR->Name = L"vuMeterR";
1116             
this->vuMeterR->Size = System::Drawing::Size(24, 200);
1117             
this->vuMeterR->TabIndex = 2;
1118             
//
1119             
// vuMeterL
1120             
//
1121             
this->vuMeterL->BackColor = System::Drawing::SystemColors::ActiveCaptionText;
1122             
this->vuMeterL->Location = System::Drawing::Point(7, 40);
1123             
this->vuMeterL->Name = L"vuMeterL";
1124             
this->vuMeterL->Size = System::Drawing::Size(24, 200);
1125             
this->vuMeterL->TabIndex = 1;
1126             
//
1127             
// vuBack2
1128             
//
1129             
this->vuBack2->BackColor = System::Drawing::SystemColors::MenuHighlight;
1130             
this->vuBack2->Location = System::Drawing::Point(42, 40);
1131             
this->vuBack2->Name = L"vuBack2";
1132             
this->vuBack2->Size = System::Drawing::Size(24, 200);
1133             
this->vuBack2->TabIndex = 1;
1134             
//
1135             
// vuBack1
1136             
//
1137             
this->vuBack1->BackColor = System::Drawing::SystemColors::MenuHighlight;
1138             
this->vuBack1->Location = System::Drawing::Point(7, 40);
1139             
this->vuBack1->Name = L"vuBack1";
1140             
this->vuBack1->Size = System::Drawing::Size(24, 200);
1141             
this->vuBack1->TabIndex = 0;
1142             
//
1143             
// backPanel
1144             
//
1145             
this->backPanel->BackColor = System::Drawing::Color::SteelBlue;
1146             
this->backPanel->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
1147             
this->backPanel->Controls->Add(this->nextTrackBtn);
1148             
this->backPanel->Controls->Add(this->prevTrackBtn);
1149             
this->backPanel->Controls->Add(this->equPanel);
1150             
this->backPanel->Controls->Add(this->pauseBtn);
1151             
this->backPanel->Controls->Add(this->playStopBtn);
1152             
this->backPanel->Location = System::Drawing::Point(470, 4);
1153             
this->backPanel->Name = L"backPanel";
1154             
this->backPanel->Size = System::Drawing::Size(408, 149);
1155             
this->backPanel->TabIndex = 5;
1156             
//
1157             
// equPanel
1158             
//
1159             
this->equPanel->BackColor = System::Drawing::Color::Black;
1160             
this->equPanel->Controls->Add(this->equFlatBtn);
1161             
this->equPanel->Controls->Add(this->equCheck);
1162             
this->equPanel->Controls->Add(this->label10);
1163             
this->equPanel->Controls->Add(this->b8);
1164             
this->equPanel->Controls->Add(this->b7);
1165             
this->equPanel->Controls->Add(this->b6);
1166             
this->equPanel->Controls->Add(this->b5);
1167             
this->equPanel->Controls->Add(this->b4);
1168             
this->equPanel->Controls->Add(this->b3);
1169             
this->equPanel->Controls->Add(this->b2);
1170             
this->equPanel->Controls->Add(this->b1);
1171             
this->equPanel->Controls->Add(this->b0);
1172             
this->equPanel->Location = System::Drawing::Point(3, 40);
1173             
this->equPanel->Name = L"equPanel";
1174             
this->equPanel->Size = System::Drawing::Size(402, 109);
1175             
this->equPanel->TabIndex = 2;
1176             
//
1177             
// equFlatBtn
1178             
//
1179             
this->equFlatBtn->Font = (gcnew System::Drawing::Font(L"Consolas", 2.5F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Millimeter,
1180                 static_cast<System::Byte>(
161)));
1181             
this->equFlatBtn->Location = System::Drawing::Point(350, 90);
1182             
this->equFlatBtn->Name = L"equFlatBtn";
1183             
this->equFlatBtn->Size = System::Drawing::Size(50, 18);
1184             
this->equFlatBtn->TabIndex = 18;
1185             
this->equFlatBtn->Text = L"Flat";
1186             
this->equFlatBtn->UseVisualStyleBackColor = true;
1187             
this->equFlatBtn->Click += gcnew System::EventHandler(this, &PlayerForm::equFlatBtn_Click);
1188             
//
1189             
// equCheck
1190             
//
1191             
this->equCheck->AutoSize = true;
1192             
this->equCheck->ForeColor = System::Drawing::SystemColors::ActiveCaption;
1193             
this->equCheck->Location = System::Drawing::Point(4, 90);
1194             
this->equCheck->Name = L"equCheck";
1195             
this->equCheck->Size = System::Drawing::Size(105, 17);
1196             
this->equCheck->TabIndex = 17;
1197             
this->equCheck->Text = L"Enable Equalizer";
1198             
this->equCheck->UseVisualStyleBackColor = true;
1199             
this->equCheck->CheckedChanged += gcnew System::EventHandler(this, &PlayerForm::equCheck_CheckedChanged);
1200             
//
1201             
// label10
1202             
//
1203             
this->label10->AutoSize = true;
1204             
this->label10->BackColor = System::Drawing::Color::Transparent;
1205             
this->label10->Font = (gcnew System::Drawing::Font(L"Consolas", 8.25F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1206                 static_cast<System::Byte>(
161)));
1207             
this->label10->ForeColor = System::Drawing::Color::Azure;
1208             
this->label10->Location = System::Drawing::Point(25, 3);
1209             
this->label10->Name = L"label10";
1210             
this->label10->Size = System::Drawing::Size(355, 13);
1211             
this->label10->TabIndex = 16;
1212             
this->label10->Text = L"100 200 300 1000 2000 3000 5000 7000 12000";
1213             
//
1214             
// b8
1215             
//
1216             
this->b8->Location = System::Drawing::Point(338, 9);
1217             
this->b8->Maximum = 12;
1218             
this->b8->Minimum = -12;
1219             
this->b8->Name = L"b8";
1220             
this->b8->Orientation = System::Windows::Forms::Orientation::Vertical;
1221             
this->b8->Size = System::Drawing::Size(45, 83);
1222             
this->b8->TabIndex = 8;
1223             
this->b8->TickStyle = System::Windows::Forms::TickStyle::Both;
1224             
this->b8->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1225             
//
1226             
// b7
1227             
//
1228             
this->b7->Location = System::Drawing::Point(298, 9);
1229             
this->b7->Maximum = 12;
1230             
this->b7->Minimum = -12;
1231             
this->b7->Name = L"b7";
1232             
this->b7->Orientation = System::Windows::Forms::Orientation::Vertical;
1233             
this->b7->Size = System::Drawing::Size(45, 83);
1234             
this->b7->TabIndex = 7;
1235             
this->b7->TickStyle = System::Windows::Forms::TickStyle::Both;
1236             
this->b7->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1237             
//
1238             
// b6
1239             
//
1240             
this->b6->Location = System::Drawing::Point(258, 9);
1241             
this->b6->Maximum = 12;
1242             
this->b6->Minimum = -12;
1243             
this->b6->Name = L"b6";
1244             
this->b6->Orientation = System::Windows::Forms::Orientation::Vertical;
1245             
this->b6->Size = System::Drawing::Size(45, 83);
1246             
this->b6->TabIndex = 6;
1247             
this->b6->TickStyle = System::Windows::Forms::TickStyle::Both;
1248             
this->b6->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1249             
//
1250             
// b5
1251             
//
1252             
this->b5->Location = System::Drawing::Point(218, 9);
1253             
this->b5->Maximum = 12;
1254             
this->b5->Minimum = -12;
1255             
this->b5->Name = L"b5";
1256             
this->b5->Orientation = System::Windows::Forms::Orientation::Vertical;
1257             
this->b5->Size = System::Drawing::Size(45, 83);
1258             
this->b5->TabIndex = 5;
1259             
this->b5->TickStyle = System::Windows::Forms::TickStyle::Both;
1260             
this->b5->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1261             
//
1262             
// b4
1263             
//
1264             
this->b4->Location = System::Drawing::Point(178, 9);
1265             
this->b4->Maximum = 12;
1266             
this->b4->Minimum = -12;
1267             
this->b4->Name = L"b4";
1268             
this->b4->Orientation = System::Windows::Forms::Orientation::Vertical;
1269             
this->b4->Size = System::Drawing::Size(45, 83);
1270             
this->b4->TabIndex = 4;
1271             
this->b4->TickStyle = System::Windows::Forms::TickStyle::Both;
1272             
this->b4->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1273             
//
1274             
// b3
1275             
//
1276             
this->b3->Location = System::Drawing::Point(138, 9);
1277             
this->b3->Maximum = 12;
1278             
this->b3->Minimum = -12;
1279             
this->b3->Name = L"b3";
1280             
this->b3->Orientation = System::Windows::Forms::Orientation::Vertical;
1281             
this->b3->Size = System::Drawing::Size(45, 83);
1282             
this->b3->TabIndex = 3;
1283             
this->b3->TickStyle = System::Windows::Forms::TickStyle::Both;
1284             
this->b3->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1285             
//
1286             
// b2
1287             
//
1288             
this->b2->Location = System::Drawing::Point(98, 9);
1289             
this->b2->Maximum = 12;
1290             
this->b2->Minimum = -12;
1291             
this->b2->Name = L"b2";
1292             
this->b2->Orientation = System::Windows::Forms::Orientation::Vertical;
1293             
this->b2->Size = System::Drawing::Size(45, 83);
1294             
this->b2->TabIndex = 2;
1295             
this->b2->TickStyle = System::Windows::Forms::TickStyle::Both;
1296             
this->b2->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1297             
//
1298             
// b1
1299             
//
1300             
this->b1->Location = System::Drawing::Point(58, 9);
1301             
this->b1->Maximum = 12;
1302             
this->b1->Minimum = -12;
1303             
this->b1->Name = L"b1";
1304             
this->b1->Orientation = System::Windows::Forms::Orientation::Vertical;
1305             
this->b1->Size = System::Drawing::Size(45, 83);
1306             
this->b1->TabIndex = 1;
1307             
this->b1->TickStyle = System::Windows::Forms::TickStyle::Both;
1308             
this->b1->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1309             
//
1310             
// b0
1311             
//
1312             
this->b0->Location = System::Drawing::Point(18, 9);
1313             
this->b0->Maximum = 12;
1314             
this->b0->Minimum = -12;
1315             
this->b0->Name = L"b0";
1316             
this->b0->Orientation = System::Windows::Forms::Orientation::Vertical;
1317             
this->b0->Size = System::Drawing::Size(45, 83);
1318             
this->b0->TabIndex = 0;
1319             
this->b0->TickStyle = System::Windows::Forms::TickStyle::Both;
1320             
this->b0->ValueChanged += gcnew System::EventHandler(this, &PlayerForm::band_ValueChanged);
1321             
//
1322             
// masterPanel
1323             
//
1324             
this->masterPanel->BackColor = System::Drawing::Color::Black;
1325             
this->masterPanel->BackgroundImageLayout = System::Windows::Forms::ImageLayout::Stretch;
1326             
this->masterPanel->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
1327             
this->masterPanel->Controls->Add(this->rateLbl);
1328             
this->masterPanel->Controls->Add(this->tempoLbl);
1329             
this->masterPanel->Controls->Add(this->pitchLbl);
1330             
this->masterPanel->Controls->Add(this->label13);
1331             
this->masterPanel->Controls->Add(this->rateValBar);
1332             
this->masterPanel->Controls->Add(this->tempoValBar);
1333             
this->masterPanel->Controls->Add(this->pitchValBar);
1334             
this->masterPanel->Controls->Add(this->rightVolLbl);
1335             
this->masterPanel->Controls->Add(this->leftVolLbl);
1336             
this->masterPanel->Controls->Add(this->label12);
1337             
this->masterPanel->Controls->Add(this->rightVolBar);
1338             
this->masterPanel->Controls->Add(this->leftVolBar);
1339             
this->masterPanel->Controls->Add(this->masterVolLbl);
1340             
this->masterPanel->Controls->Add(this->label11);
1341             
this->masterPanel->Controls->Add(this->masterVolBar);
1342             
this->masterPanel->Location = System::Drawing::Point(470, 189);
1343             
this->masterPanel->Name = L"masterPanel";
1344             
this->masterPanel->Size = System::Drawing::Size(327, 242);
1345             
this->masterPanel->TabIndex = 6;
1346             
//
1347             
// rateLbl
1348             
//
1349             
this->rateLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1350             
this->rateLbl->BackColor = System::Drawing::Color::Transparent;
1351             
this->rateLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1352                 static_cast<System::Byte>(
161)));
1353             
this->rateLbl->ForeColor = System::Drawing::Color::White;
1354             
this->rateLbl->Location = System::Drawing::Point(276, 24);
1355             
this->rateLbl->Name = L"rateLbl";
1356             
this->rateLbl->Size = System::Drawing::Size(30, 14);
1357             
this->rateLbl->TabIndex = 29;
1358             
this->rateLbl->Text = L"100";
1359             
this->rateLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1360             
//
1361             
// tempoLbl
1362             
//
1363             
this->tempoLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1364             
this->tempoLbl->BackColor = System::Drawing::Color::Transparent;
1365             
this->tempoLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1366                 static_cast<System::Byte>(
161)));
1367             
this->tempoLbl->ForeColor = System::Drawing::Color::White;
1368             
this->tempoLbl->Location = System::Drawing::Point(234, 24);
1369             
this->tempoLbl->Name = L"tempoLbl";
1370             
this->tempoLbl->Size = System::Drawing::Size(30, 14);
1371             
this->tempoLbl->TabIndex = 28;
1372             
this->tempoLbl->Text = L"100";
1373             
this->tempoLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1374             
//
1375             
// pitchLbl
1376             
//
1377             
this->pitchLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1378             
this->pitchLbl->BackColor = System::Drawing::Color::Transparent;
1379             
this->pitchLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1380                 static_cast<System::Byte>(
161)));
1381             
this->pitchLbl->ForeColor = System::Drawing::Color::White;
1382             
this->pitchLbl->Location = System::Drawing::Point(194, 24);
1383             
this->pitchLbl->Name = L"pitchLbl";
1384             
this->pitchLbl->Size = System::Drawing::Size(30, 14);
1385             
this->pitchLbl->TabIndex = 27;
1386             
this->pitchLbl->Text = L"100";
1387             
this->pitchLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1388             
//
1389             
// label13
1390             
//
1391             
this->label13->AutoSize = true;
1392             
this->label13->BackColor = System::Drawing::Color::Transparent;
1393             
this->label13->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1394                 static_cast<System::Byte>(
161)));
1395             
this->label13->ForeColor = System::Drawing::Color::LightBlue;
1396             
this->label13->Location = System::Drawing::Point(193, 4);
1397             
this->label13->Name = L"label13";
1398             
this->label13->Size = System::Drawing::Size(117, 15);
1399             
this->label13->TabIndex = 26;
1400             
this->label13->Text = L"Pitch Tempo Rate";
1401             
//
1402             
// rateValBar
1403             
//
1404             
this->rateValBar->BackColor = System::Drawing::Color::Black;
1405             
this->rateValBar->Location = System::Drawing::Point(280, 40);
1406             
this->rateValBar->Maximum = 200;
1407             
this->rateValBar->Name = L"rateValBar";
1408             
this->rateValBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1409             
this->rateValBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1410             
this->rateValBar->RightToLeftLayout = true;
1411             
this->rateValBar->Size = System::Drawing::Size(45, 200);
1412             
this->rateValBar->TabIndex = 25;
1413             
this->rateValBar->Value = 100;
1414             
this->rateValBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::rateValBar_Scroll);
1415             
//
1416             
// tempoValBar
1417             
//
1418             
this->tempoValBar->BackColor = System::Drawing::Color::Black;
1419             
this->tempoValBar->Location = System::Drawing::Point(240, 40);
1420             
this->tempoValBar->Maximum = 200;
1421             
this->tempoValBar->Name = L"tempoValBar";
1422             
this->tempoValBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1423             
this->tempoValBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1424             
this->tempoValBar->RightToLeftLayout = true;
1425             
this->tempoValBar->Size = System::Drawing::Size(45, 200);
1426             
this->tempoValBar->TabIndex = 24;
1427             
this->tempoValBar->Value = 100;
1428             
this->tempoValBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::tempoValBar_Scroll);
1429             
//
1430             
// pitchValBar
1431             
//
1432             
this->pitchValBar->BackColor = System::Drawing::Color::Black;
1433             
this->pitchValBar->Location = System::Drawing::Point(200, 40);
1434             
this->pitchValBar->Maximum = 200;
1435             
this->pitchValBar->Name = L"pitchValBar";
1436             
this->pitchValBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1437             
this->pitchValBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1438             
this->pitchValBar->RightToLeftLayout = true;
1439             
this->pitchValBar->Size = System::Drawing::Size(45, 200);
1440             
this->pitchValBar->TabIndex = 23;
1441             
this->pitchValBar->Value = 100;
1442             
this->pitchValBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::pitchValBar_Scroll);
1443             
//
1444             
// rightVolLbl
1445             
//
1446             
this->rightVolLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1447             
this->rightVolLbl->BackColor = System::Drawing::Color::Transparent;
1448             
this->rightVolLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1449                 static_cast<System::Byte>(
161)));
1450             
this->rightVolLbl->ForeColor = System::Drawing::Color::White;
1451             
this->rightVolLbl->Location = System::Drawing::Point(140, 24);
1452             
this->rightVolLbl->Name = L"rightVolLbl";
1453             
this->rightVolLbl->Size = System::Drawing::Size(30, 14);
1454             
this->rightVolLbl->TabIndex = 22;
1455             
this->rightVolLbl->Text = L"100";
1456             
this->rightVolLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1457             
//
1458             
// leftVolLbl
1459             
//
1460             
this->leftVolLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1461             
this->leftVolLbl->BackColor = System::Drawing::Color::Transparent;
1462             
this->leftVolLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1463                 static_cast<System::Byte>(
161)));
1464             
this->leftVolLbl->ForeColor = System::Drawing::Color::White;
1465             
this->leftVolLbl->Location = System::Drawing::Point(87, 24);
1466             
this->leftVolLbl->Name = L"leftVolLbl";
1467             
this->leftVolLbl->Size = System::Drawing::Size(30, 14);
1468             
this->leftVolLbl->TabIndex = 21;
1469             
this->leftVolLbl->Text = L"100";
1470             
this->leftVolLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1471             
//
1472             
// label12
1473             
//
1474             
this->label12->AutoSize = true;
1475             
this->label12->BackColor = System::Drawing::Color::Transparent;
1476             
this->label12->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1477                 static_cast<System::Byte>(
161)));
1478             
this->label12->ForeColor = System::Drawing::Color::LightBlue;
1479             
this->label12->Location = System::Drawing::Point(95, 4);
1480             
this->label12->Name = L"label12";
1481             
this->label12->Size = System::Drawing::Size(73, 15);
1482             
this->label12->TabIndex = 20;
1483             
this->label12->Text = L"L VOL R ";
1484             
//
1485             
// rightVolBar
1486             
//
1487             
this->rightVolBar->BackColor = System::Drawing::Color::Black;
1488             
this->rightVolBar->Location = System::Drawing::Point(122, 40);
1489             
this->rightVolBar->Maximum = 100;
1490             
this->rightVolBar->Name = L"rightVolBar";
1491             
this->rightVolBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1492             
this->rightVolBar->RightToLeft = System::Windows::Forms::RightToLeft::Yes;
1493             
this->rightVolBar->RightToLeftLayout = true;
1494             
this->rightVolBar->Size = System::Drawing::Size(45, 200);
1495             
this->rightVolBar->TabIndex = 19;
1496             
this->rightVolBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::leftRightVolBar_Scroll);
1497             
//
1498             
// leftVolBar
1499             
//
1500             
this->leftVolBar->BackColor = System::Drawing::Color::Black;
1501             
this->leftVolBar->Location = System::Drawing::Point(93, 40);
1502             
this->leftVolBar->Maximum = 100;
1503             
this->leftVolBar->Name = L"leftVolBar";
1504             
this->leftVolBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1505             
this->leftVolBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1506             
this->leftVolBar->Size = System::Drawing::Size(45, 200);
1507             
this->leftVolBar->TabIndex = 18;
1508             
this->leftVolBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::leftRightVolBar_Scroll);
1509             
//
1510             
// masterVolLbl
1511             
//
1512             
this->masterVolLbl->Anchor = System::Windows::Forms::AnchorStyles::None;
1513             
this->masterVolLbl->BackColor = System::Drawing::Color::Transparent;
1514             
this->masterVolLbl->Font = (gcnew System::Drawing::Font(L"Consolas", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1515                 static_cast<System::Byte>(
161)));
1516             
this->masterVolLbl->ForeColor = System::Drawing::Color::White;
1517             
this->masterVolLbl->Location = System::Drawing::Point(14, 24);
1518             
this->masterVolLbl->Name = L"masterVolLbl";
1519             
this->masterVolLbl->Size = System::Drawing::Size(30, 14);
1520             
this->masterVolLbl->TabIndex = 17;
1521             
this->masterVolLbl->Text = L"100";
1522             
this->masterVolLbl->TextAlign = System::Drawing::ContentAlignment::MiddleCenter;
1523             
//
1524             
// label11
1525             
//
1526             
this->label11->AutoSize = true;
1527             
this->label11->BackColor = System::Drawing::Color::Transparent;
1528             
this->label11->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
1529                 static_cast<System::Byte>(
161)));
1530             
this->label11->ForeColor = System::Drawing::Color::LightBlue;
1531             
this->label11->Location = System::Drawing::Point(-2, 4);
1532             
this->label11->Name = L"label11";
1533             
this->label11->Size = System::Drawing::Size(86, 15);
1534             
this->label11->TabIndex = 16;
1535             
this->label11->Text = L"MASTER VOL ";
1536             
//
1537             
// masterVolBar
1538             
//
1539             
this->masterVolBar->BackColor = System::Drawing::SystemColors::ActiveCaptionText;
1540             
this->masterVolBar->Location = System::Drawing::Point(19, 40);
1541             
this->masterVolBar->Maximum = 100;
1542             
this->masterVolBar->Name = L"masterVolBar";
1543             
this->masterVolBar->Orientation = System::Windows::Forms::Orientation::Vertical;
1544             
this->masterVolBar->RightToLeft = System::Windows::Forms::RightToLeft::No;
1545             
this->masterVolBar->Size = System::Drawing::Size(45, 200);
1546             
this->masterVolBar->TabIndex = 0;
1547             
this->masterVolBar->Scroll += gcnew System::EventHandler(this, &PlayerForm::masterVolBar_Scroll);
1548             
//
1549             
// prevTrackBtn
1550             
//
1551             
this->prevTrackBtn->Location = System::Drawing::Point(185, 15);
1552             
this->prevTrackBtn->Name = L"prevTrackBtn";
1553             
this->prevTrackBtn->Size = System::Drawing::Size(75, 23);
1554             
this->prevTrackBtn->TabIndex = 3;
1555             
this->prevTrackBtn->Text = L"<<";
1556             
this->prevTrackBtn->UseVisualStyleBackColor = true;
1557             
this->prevTrackBtn->Click += gcnew System::EventHandler(this, &PlayerForm::prevTrackBtn_Click);
1558             
//
1559             
// nextTrackBtn
1560             
//
1561             
this->nextTrackBtn->Location = System::Drawing::Point(301, 15);
1562             
this->nextTrackBtn->Name = L"nextTrackBtn";
1563             
this->nextTrackBtn->Size = System::Drawing::Size(75, 23);
1564             
this->nextTrackBtn->TabIndex = 4;
1565             
this->nextTrackBtn->Text = L">>";
1566             
this->nextTrackBtn->UseVisualStyleBackColor = true;
1567             
this->nextTrackBtn->Click += gcnew System::EventHandler(this, &PlayerForm::nextTrackBtn_Click);
1568             
//
1569             
// PlayerForm
1570             
//
1571             
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
1572             
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
1573             
this->ClientSize = System::Drawing::Size(879, 436);
1574             
this->Controls->Add(this->masterPanel);
1575             
this->Controls->Add(this->backPanel);
1576             
this->Controls->Add(this->vuPanel1);
1577             
this->Controls->Add(this->playBtnPanel);
1578             
this->Controls->Add(this->pathLbl);
1579             
this->Controls->Add(this->dirBtn);
1580             
this->Controls->Add(this->trackList);
1581             
this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::Fixed3D;
1582             
this->MaximizeBox = false;
1583             
this->Name = L"PlayerForm";
1584             
this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen;
1585             
this->Text = L"My Player";
1586             
this->FormClosed += gcnew System::Windows::Forms::FormClosedEventHandler(this, &PlayerForm::PlayerForm_FormClosed);
1587             
this->playBtnPanel->ResumeLayout(false);
1588             
this->playBtnPanel->PerformLayout();
1589             
this->vuPanel1->ResumeLayout(false);
1590             
this->vuPanel1->PerformLayout();
1591             
this->backPanel->ResumeLayout(false);
1592             
this->equPanel->ResumeLayout(false);
1593             
this->equPanel->PerformLayout();
1594             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b8))->EndInit();
1595             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b7))->EndInit();
1596             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b6))->EndInit();
1597             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b5))->EndInit();
1598             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b4))->EndInit();
1599             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b3))->EndInit();
1600             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b2))->EndInit();
1601             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b1))->EndInit();
1602             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->b0))->EndInit();
1603             
this->masterPanel->ResumeLayout(false);
1604             
this->masterPanel->PerformLayout();
1605             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->rateValBar))->EndInit();
1606             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->tempoValBar))->EndInit();
1607             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->pitchValBar))->EndInit();
1608             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->rightVolBar))->EndInit();
1609             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->leftVolBar))->EndInit();
1610             (cli::safe_cast<System::ComponentModel::ISupportInitialize^>(
this->masterVolBar))->EndInit();
1611             
this->ResumeLayout(false);
1612             
this->PerformLayout();
1613
1614         }
1615 #pragma endregion

1616
1617         ///
Folder path button click
1618     
private: System::Void dirBtn_Click(System::Object^ sender, System::EventArgs^ e)
1619     {
1620         folderBrowserDialog->ShowDialog();
1621         soundsDirPath = folderBrowserDialog->SelectedPath->ToString();
1622         print(soundsDirPath);
1623         loadTracks();
1624     }

1625
1626              ///
Close programm event
1627     
private: System::Void PlayerForm_FormClosed(System::Object^ sender, System::Windows::Forms::FormClosedEventArgs^ e)
1628     {
1629         
//player.~ZPlay();
1630         updateTimer->Stop();
1631         resourceWrite();
1632         print(
"Programm closed");
1633     }

1634
1635              ///
Track list selected event
1636     
private: System::Void trackList_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e)
1637     {
1638
1639     }

1640
1641              ///
Track list double click
1642     
private: System::Void trackList_MouseDoubleClick(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
1643     {
1644         trackName = trackList->SelectedItem->ToString();
1645         playingTrack = soundsDirPath +
"/" + trackName;
1646         trackListIndex = trackList->SelectedIndex;
1647         loadTrackFile(playingTrack);
1648         
if (player != nullptr) { startPlayer(); }
1649     }

1650
1651              ///
Update timer tick
1652     
private: System::Void updateTimer_Tick(System::Object^ sender, System::EventArgs^ e)
1653     {
1654         visCounter++;
1655         
if (visCounter > 1.5)
1656         {
1657             statusLbl->Visible = !statusLbl->Visible;
1658             visCounter =
0;
1659         }
1660         getPosition();
1661         vuMeter();
1662     }

1663
1664              ///
Play button click
1665     
private: System::Void playStopBtn_Click(System::Object^ sender, System::EventArgs^ e)
1666     {
1667         
if (playingTrack == "") { return; }
1668         player->GetStatus(statusInfo);
1669         
if (!statusInfo.fPlay || statusInfo.fPause) { startPlayer(); }
1670         
else { stopPlayer(); }
1671     }

1672
1673              ///
Pause button click
1674     
private: System::Void pauseBtn_Click(System::Object^ sender, System::EventArgs^ e)
1675     {
1676         pausePlayer();
1677     }

1678
1679              ///
Bar traxk position mous click event
1680     
private: System::Void barPosBack_MouseClick(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
1681     {
1682         setTrackPosition();
1683     }

1684
1685              ///
Equalizer button change event
1686     
private: System::Void band_ValueChanged(System::Object^ sender, System::EventArgs^ e)
1687     {
1688         
for each (Control^ control in equPanel->Controls)
1689         {
1690             
if (control->Name->IndexOf("b") == 0)
1691             {
1692                 
int numBand = 0;
1693                 
int::TryParse(control->Name->Substring(1), numBand);
1694                 TrackBar^ bar = dynamic_cast<TrackBar^> (control);
1695                 equalizerChange(numBand, (bar->Value) *
1000);
1696             }
1697
1698         }
1699
1700     }

1701
1702              ///
Equalizer enable check event
1703     
private: System::Void equCheck_CheckedChanged(System::Object^ sender, System::EventArgs^ e)
1704     {
1705         
if (player != nullptr)
1706         {
1707             equalizerEnable(equCheck->Checked);
1708         }
1709     }

1710
1711              ///
Flat equalizer button click
1712     
private: System::Void equFlatBtn_Click(System::Object^ sender, System::EventArgs^ e)
1713     {
1714         equalizerFlat();
1715     }

1716
1717              ///
Master volemu change
1718     
private: System::Void masterVolBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1719     {
1720         setMasterVolume(masterVolBar->Value);
1721         
//print("volume");
1722     }

1723
1724              ///
Left Right volume change
1725     
private: System::Void leftRightVolBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1726     {
1727         setLeftRightVolume(leftVolBar->Value, rightVolBar->Value);
1728     }

1729
1730              ///
Pitch change
1731     
private: System::Void pitchValBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1732     {
1733         setPTR(
'P', pitchValBar->Value);
1734     }

1735
1736              ///
Tempo change
1737     
private: System::Void tempoValBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1738     {
1739         setPTR(
'T', tempoValBar->Value);
1740     }

1741
1742              ///
Rate change
1743     
private: System::Void rateValBar_Scroll(System::Object^ sender, System::EventArgs^ e)
1744     {
1745         setPTR(
'R', rateValBar->Value);
1746     }

1747
1748              ///
Previous track click button
1749     
private: System::Void prevTrackBtn_Click(System::Object^ sender, System::EventArgs^ e)
1750     {
1751         previousTrack();
1752     }

1753
1754              ///
Next track click button
1755     
private: System::Void nextTrackBtn_Click(System::Object^ sender, System::EventArgs^ e)
1756     {
1757         nextTrack();
1758     }
1759     };
1760
1761
1762
1763 }


Gõ tìm kiếm nhanh...